From 488c30084e560a91c7f979090ff6506b794b8f83 Mon Sep 17 00:00:00 2001 From: "mjw@wray-m-3.hpl.hp.com" Date: Tue, 10 Aug 2004 14:20:33 +0000 Subject: [PATCH] bitkeeper revision 1.1159.1.34 (4118d9b1ZXvgrP7sHLCZ6HCI8E4V0g) Fix some restore problems. --- tools/python/xen/xend/XendDomainInfo.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 4aa705e42a..0df3c2208a 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -309,6 +309,7 @@ def vm_restore(src, progress=0): deferred = vm.dom_construct(dom, config) def vifs_cb(val, vm): vif_up(vm.ipaddrs) + return vm deferred.addCallback(vifs_cb, vm) return deferred @@ -318,7 +319,7 @@ def dom_get(dom): @param dom: domain id @return: info or None """ - domlist = xc.domain_getinfo(dom=dom) + domlist = xc.domain_getinfo(dom, 1) if domlist and dom == domlist[0]['dom']: return domlist[0] return None @@ -633,7 +634,7 @@ class XendDomainInfo: try: return xc.domain_destroy(dom=self.dom) except Exception, err: - log.exception("Domain destroy failed: ", self.name) + log.exception("Domain destroy failed: %s", self.name) def cleanup(self): """Cleanup vm resources: release devices. @@ -937,21 +938,15 @@ class XendDomainInfo: d = dom_get(dom) if not d: raise VmError("Domain not found: %d" % dom) + print 'dom_construct>', dom, config try: - self.config = config self.restore = 1 self.setdom(dom) self.name = d['name'] - self.memory = d['memory']/1024 - deferred = self.construct() - def cberr(err): - self.destroy() - return err - deferred.addErrback(cberr) + self.memory = d['mem_kb']/1024 + deferred = self.construct(config) + finally: self.restore = 0 - except StandardError, ex: - self.destroy() - raise return deferred def configure_fields(self): -- 2.30.2